1. Field of the Invention
The present invention relates to the security of integrated circuits against possible acts of piracy and, more specifically, the blocking of the normal operation of an integrated circuit in case of an attempt of violation of its memory.
2. Discussion of the Related Art
An example of application of the present invention relates to smart cards in which one or several integrated circuit chips execute functions which are desired to be kept secret and/or use secret data.
In this type of application, and more generally in any application using an integrated circuit implementing an algorithm and/or secret data, integrated circuits are often submitted to piracy attempts from dishonest users aiming at penetrating their secret. In the case of the execution of programs, the data coding or encryption algorithms are generally attempted to be determined. In the case of a key or a secret quantity contained in the integrated circuit, the corresponding datum is desired to be determined.
Attempts of piracy against secret quantities of integrated circuits are generally called “attacks”. Two types of attacks are generally known. A first attack consists of analyzing the power consumption of the integrated circuit during the execution of an algorithm by the circuit. The attack may be by simple power analysis (SPA) or differential power analysis (DPA) of the power consumption. Such an attack consists of evaluating the direct or statistical dependence between the circuit power consumption and the use of digital data processed by a chip of this circuit and involving a secret quantity. Indeed, in an algorithmic processing by means of a processing circuit, there is a dependence between the circuit power consumption and the processed datum. The pirate uses the data introduced in the circuit, and thus “visible”, and used by the algorithm, to determine the secret datum embedded in the circuit.
A second category of attacks relates to differential fault analysis (DFA) attacks. Such attacks consist of causing faults or errors in the progress of an algorithm processed by the integrated circuit to extract the secret information therefrom.
Smart cards, or more generally integrated circuits with secret data, may be equipped with functions of detection of a fraud attempt or more generally of detection of incorrect parameters, leading to the suspicion of a fraud attempt.
Most often, it is then desired to block the component by the execution of an instruction in endless loop. Such an infinite loop operation is preferred to a plain stopping of the component, since it enables not giving back the lead to the user and thus makes the analysis by a pirate more difficult.
A disadvantage of the operation in infinite loop on an instruction is that this gives an indication to the pirate of the fact that he has blocked the program executed by the integrated circuit. In particular, in a power consumption analysis, it is possible to detect an instruction executed in a loop. The pirate then knows that he has touched a sensitive area of the component by his action. He can then intervene on the instruction counter to force a coming out of the loop, which makes the component particularly fragile.